﻿using System.ComponentModel.DataAnnotations;
using WMS_MAV.DTO.Warehouse.Storage;

namespace WMS_MAV.DTO.Warehouse.Outbound
{
    public class OutboundDTO
    {
        public string? OutboundNo { get; set; }

        public string? OutboundType { get; set; }

        public string? AssociateNumber { get; set; }

        public string? CustomerNo { get; set; }

        public string? CustomerName { get; set; }

        public string? CustomerContact { get; set; }

        public string? CustomerPhone { get; set; }

        public string? SingleMaker { get; set; }

        public DateTime? SingleTime { get; set; }

        public string? OutboundRemarks { get; set; }

        public AuditStatus? OutboundState { get; set; }

        public string? ExamineReason { get; set; }

        public string? ExaminePeople { get; set; }

        public DateTime? ExamineTime { get; set; }

        public DateTime? DeliveryTime { get; set; }

        public string? office_id { get; set; }

        public int? user_id { get; set; }

        public List<OutStorageProducts> Products { get; set; } = new List<OutStorageProducts>();
    }
    public enum AuditStatus
    {
        全部 = 0,
        等待审核,
        审核成功,
        审核失败
    }
    /// <summary>
    /// 出库产品信息
    /// </summary>
    public class OutStorageProducts
    {
        /// <summary>
        /// 产品名称
        /// </summary>
        public string? ProductName { get; set; }
        /// <summary>
        /// 产品编码
        /// </summary>
        public string? ProductNo { get; set; }
        /// <summary>
        /// 规格
        /// </summary>
        public string? ProductSpec { get; set; }
        /// <summary>
        /// 批次
        /// </summary>
        public string Batch { get; set; }
        /// <summary>
        /// 单价
        /// </summary>
        public decimal? Price { get; set; }
        /// <summary>
        /// 出库数
        /// </summary>
        public int? OutStorageNum { get; set; }
        /// <summary>
        /// 总价
        /// </summary>
        public decimal? TotalPrice { get; set; }
        /// <summary>
        /// 库位
        /// </summary>
        public string? BinLocationName { get; set; }
        /// <summary>
        /// 公司Id
        /// </summary>
        public string? office_id { get; set; }
        /// <summary>
        /// 用户Id
        /// </summary>
        public int? user_id { get; set; }
        /// <summary>
        /// 出库id
        /// </summary>
        public int? Outboundid { get; set; }
    }
}
